/**
 1. JVM架构图

 2. 类加载器
 MyObject myObject = new MyObject();
 System.out.println(myObject.getClass().getClassLoader().getParent().getParent());  // null
 System.out.println(myObject.getClass().getClassLoader().getParent());  // 扩展类加载器，sun.misc.Launcher$ExtClassLoader@1b6d3586
 System.out.println(myObject.getClass().getClassLoader()); // 应用程序类加载器，sun.misc.Launcher$AppClassLoader@18b4aac2

     2.1 有哪几种类加载器
     2.2 双亲委派
     2.3 沙箱安全机制

 3. native
 native是一个关键字
 声明有，实现无

 4. PC寄存器
    - 记录了方法之间的调用和执行情况。指向下一条要执行的指令位置（应该有多个寄存器）。

 5 方法区
    5.1 它存储了每一个类的结构信息
    5.2 方法区是规范，在不同虚拟机里头实现是不一样的，最典型的就是永久代(PermGen space)和元空间(Metaspace)。

 6 stack
    6.1 栈管运行，堆管存储
    6.2 栈存储什么东西
        8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存中分配。
    6.3 Exception in thread "main" java.lang.StackOverflowError，这是错误，不是异常
 */
public class JVMNote {
}
